Skip to content

feat(connectors): add ConnectorTypeRegistry to generated types#236

Merged
Paveltarno merged 3 commits intomainfrom
pavelta-connector-registry
Feb 15, 2026
Merged

feat(connectors): add ConnectorTypeRegistry to generated types#236
Paveltarno merged 3 commits intomainfrom
pavelta-connector-registry

Conversation

@Paveltarno
Copy link
Collaborator

@Paveltarno Paveltarno commented Feb 12, 2026

Note

Description

This PR extends the type generation system to include connectors, adding a ConnectorTypeRegistry to the generated types file. This enables type-safe autocomplete for connector types when using the Base44 SDK, complementing the existing registries for entities, functions, and agents.

Related Issue

None

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Other (please describe):

Changes Made

  • Added connectors parameter to GenerateTypesInput interface and generateTypesFile() function
  • Updated generateContent() to include ConnectorTypeRegistry in the generated types output
  • Modified the empty check to consider connectors when determining if any resources exist
  • Updated the types generate command to read and pass connector resources from project config
  • Added test fixture with a sample connector (slack.jsonc) for testing type generation
  • Enhanced test assertions to verify ConnectorTypeRegistry is included in generated output
  • Updated empty template message to reference connectors alongside other resources

Testing

  • I have tested these changes locally
  • I have added/updated tests as needed
  • All tests pass (npm test)

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (if applicable)
  • My changes generate no new warnings
  • I have updated AGENTS.md if I made architectural changes

Additional Notes

This change follows the established pattern for type generation used by entities, functions, and agents. The ConnectorTypeRegistry maps connector types (e.g., "slack") to true, providing compile-time validation when referencing connector types in SDK code.


🤖 Generated by Claude | 2026-02-15 13:53 UTC

@claude
Copy link

claude bot commented Feb 12, 2026

README check ran. 3 issue(s) found and applied: added missing 'eject' command, added missing 'connectors push' command, fixed 'logout' description. README.md has been updated in this branch.

kfirstri
kfirstri previously approved these changes Feb 12, 2026
@github-project-automation github-project-automation bot moved this from Backlog to In review in CLI Development Feb 12, 2026
Base automatically changed from pavelta-connectors-1 to main February 12, 2026 13:27
@Paveltarno Paveltarno dismissed kfirstri’s stale review February 12, 2026 13:27

The base branch was changed.

@Paveltarno
Copy link
Collaborator Author

@claude rebase

@claude
Copy link

claude bot commented Feb 12, 2026

Claude finished @Paveltarno's task in 16s —— View job


Unable to Perform Rebase

I'm unable to perform git rebase operations due to my current capabilities. Rebasing requires complex git operations that are outside my scope of branch operations.

How to Rebase Manually

You can rebase this PR branch manually with these commands:

git checkout pr-236
git fetch origin
git rebase origin/main
git push origin pr-236 --force-with-lease

Note: Use --force-with-lease instead of --force for safer force-pushing, as it will fail if someone else has pushed commits to the branch.

Alternative Approach

If you'd like me to help with specific conflicts or issues after you've attempted the rebase, feel free to tag me again and I can assist with resolving merge conflicts or updating code.


@Paveltarno
Copy link
Collaborator Author

Claude finished @Paveltarno's task in 16s —— View job

Unable to Perform Rebase

I'm unable to perform git rebase operations due to my current capabilities. Rebasing requires complex git operations that are outside my scope of branch operations.

How to Rebase Manually

You can rebase this PR branch manually with these commands:

git checkout pr-236
git fetch origin
git rebase origin/main
git push origin pr-236 --force-with-lease

Note: Use --force-with-lease instead of --force for safer force-pushing, as it will fail if someone else has pushed commits to the branch.

Alternative Approach

If you'd like me to help with specific conflicts or issues after you've attempted the rebase, feel free to tag me again and I can assist with resolving merge conflicts or updating code.

@claude, why can't you rebase? what capabilites do you require?

@claude
Copy link

claude bot commented Feb 12, 2026

Claude finished @Paveltarno's task in 28s —— View job


Why I Cannot Rebase

Checklist:

  • Explain git rebase requirements
  • Explain current capabilities
  • Provide context on limitations

The Technical Reason

Git rebase is a complex operation that requires:

  1. Interactive conflict resolution - When rebasing, conflicts often occur that require human decision-making about which changes to keep, how to merge conflicting edits, and whether the resolution maintains the intended functionality.

  2. Branch manipulation - Rebase rewrites commit history by replaying commits on top of a new base, which involves:

    • Checking out multiple branches
    • Applying commits one by one
    • Potentially reordering or squashing commits
    • Force-pushing the rewritten history
  3. Contextual understanding of history - Understanding which commits should be preserved, reordered, or dropped requires deep context about the development history and intentions.

My Current Capabilities

I can perform these git operations:

  • Create and commit changes to files
  • Push commits to branches (non-force push)
  • Create new branches
  • View diffs and history
  • Stage and commit files

What I cannot do:

  • Perform branch operations like merge, rebase, cherry-pick
  • Force push (which is required after rebase)
  • Handle interactive conflict resolution during complex git operations
  • Rewrite commit history

Why This Limitation Exists

The limitation is intentional for safety reasons:

  • Prevents history corruption - Rebasing requires force-pushing, which can overwrite others' work if not done carefully
  • Avoids complex conflict scenarios - Automated conflict resolution during rebase could introduce bugs or break functionality
  • Maintains safe collaboration - My design focuses on additive changes (new commits) rather than destructive operations (rewriting history)

What You Can Do

For rebase operations, you'll need to:

  1. Perform the rebase manually (as I described in my previous comment)
  2. Handle any merge conflicts that arise
  3. Verify the rebased code still works as expected
  4. Force-push with --force-with-lease for safety

If you encounter specific conflicts or issues during the rebase, I can help you resolve them by making targeted commits to fix the conflicts!


@Paveltarno Paveltarno changed the title feat(types): add ConnectorTypeRegistry to generated types feat(connectors): add ConnectorTypeRegistry to generated types Feb 12, 2026
@Paveltarno Paveltarno force-pushed the pavelta-connector-registry branch from 885fa78 to a3eb0ca Compare February 12, 2026 14:06
@github-actions
Copy link
Contributor

github-actions bot commented Feb 12, 2026

🚀 Package Preview Available!


Install this PR's preview build with npm:

npm i @base44-preview/cli@0.0.31-pr.236.3a66999

Prefer not to change any import paths? Install using npm alias so your code still imports base44:

npm i "base44@npm:@base44-preview/cli@0.0.31-pr.236.3a66999"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "base44": "npm:@base44-preview/cli@0.0.31-pr.236.3a66999"
  }
}

Preview published to npm registry — try new features instantly!

@claude
Copy link

claude bot commented Feb 12, 2026

README check ran. 7 issue(s) found and applied: Updated command descriptions for create, deploy, link, logout, whoami, entities push, agents pull/push; added missing eject and connectors push commands. README.md has been updated in this branch.

kfirstri
kfirstri previously approved these changes Feb 12, 2026
Copy link
Collaborator

@kfirstri kfirstri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix lint issues

@Paveltarno
Copy link
Collaborator Author

@claude lint:fix this one

@claude
Copy link

claude bot commented Feb 15, 2026

Claude finished @Paveltarno's task in 1m 12s —— View job


Lint Issues Fixed ✓

Checklist:

  • Verify branch and working directory
  • Install dependencies
  • Run bun run lint:fix (Fixed 3 files)
  • Check for modified files (3 files modified + bun.lock)
  • Commit and push changes

Summary

Successfully ran bun run lint:fix which fixed formatting issues in 3 files:

  • src/cli/commands/types/generate.ts - Line break for destructuring assignment
  • src/core/types/generator.ts - Import ordering and line breaks for conditional
  • tests/cli/types_generate.spec.ts - Line break for long string assertion

All changes have been committed and pushed to the pavelta-connector-registry branch.


View job | View commit

Paveltarno and others added 2 commits February 15, 2026 10:30
Add connector type registry alongside existing entity, function, and
agent registries in the generated types.d.ts file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: paveltarno <Paveltarno@users.noreply.github.com>
@Paveltarno Paveltarno force-pushed the pavelta-connector-registry branch from b95a99e to 9785003 Compare February 15, 2026 08:30
@claude
Copy link

claude bot commented Feb 15, 2026

README check ran. 3 issues found and applied: (1) Added missing eject command to table, (2) Added missing connectors push command to table, (3) Updated logout and whoami descriptions to match code. README.md has been updated in this branch.

@claude
Copy link

claude bot commented Feb 15, 2026

README check ran. 6 issue(s) found and applied: (1) Added missing eject command, (2) Added missing connectors push command, (3) Updated create description, (4) Updated deploy description, (5) Updated link description, (6) Updated logout description and multiple other command descriptions to match the code exactly. README.md has been updated in this branch.

@claude
Copy link

claude bot commented Feb 15, 2026

README check ran. 7 issue(s) found and applied: added missing commands (eject, connectors pull/push, types generate), updated command descriptions to match code. README.md has been updated in this branch.

@Paveltarno Paveltarno merged commit b19008e into main Feb 15, 2026
10 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in CLI Development Feb 15, 2026
@Paveltarno Paveltarno deleted the pavelta-connector-registry branch February 15, 2026 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants